Async payment への PTLC 検討メモ
以下の説明はたぶんあっていないと思う。PTLC ページを参照したほうがよい。 payer は invoice P を受け取るわけだが、P + (nonce*G) に払うようにする
これができるなら、payer が毎回 invoice を変えているというだから、前述の問題は解決している
しかし payee がこれを受け取れるのか?
two hop を考えてみる
A -- B -- C
A は a,bを作る
B は b を知る
C は s*G=P, (a+b)を知っている
A は B に対して a+(s+nonce) をもとめる
BはCに対して a+b+(s+nonce) をもとめる
B はa+b+(s+nonce) - b で a+(s+nonce) を知ることができる
C は nonce がわかればいい
オンラインになったときに onion message で A は C に nonce を伝えればこれが成立する
支払いが完了したあと、Bは a+b+c+(s+nonce) を知ることになるが、この値はnonce が変わってしまったら使うことはできない
そうすれば LSP を信用しなくても Ok
単にhopに渡す値を毎回変えるだけではだめなのだろうか?
two hop を考えてみる
(1)A - B -C
A は a,b を作る
B は b を知る
C は s*G=P, (a+b)を知っている
A は B に対して a+s をもとめる
BはCに対して a+b+s をもとめる
完了するとBは、b, a+s を知っていることになる
(2)このときに二回目の支払いをする
A は a',b' をつくる
B は b' を知る
C は s*G=P, (a'+b')を知っている
A は B に対して a'+s をもとめる
このとき、以前の情報(b, a+s) を使って、 a'+s を知ることができるか?
できるならだめ
できるの????